package classificados.negocio;

import java.util.ArrayList;
import java.util.List;

public class Classificados {
	private List<Usuario> usuarios;
	private List<Anuncio> anuncios;
	
	private static Classificados instancia;
	
	private Classificados() {
		super();
		usuarios = new ArrayList<Usuario>();
		anuncios = new ArrayList<Anuncio>();
	}
	
	public static Classificados getInstancia() {
		if (instancia == null) {
			instancia = new Classificados();
		}
		return instancia;
	}
	
	public List<Anuncio> getAnuncios() {
		return this.anuncios;
	}
	
	public void adicionaUsuario(Usuario novo) {
		if (novo != null && !this.usuarios.contains(novo)) {
			this.usuarios.add(novo);
		}
	}
	
	public boolean adicionaAnuncio(Anuncio novo) {
		if (novo != null && !this.anuncios.contains(novo) && !existeAnuncio(novo)) {
			this.anuncios.add(novo);
			return true;
		}
		return false;
	}
	
	public boolean existeLogin(String login) {
		for (Usuario usuario : usuarios) {
			if (usuario.getLogin().equals(login)) {
				return true;
			}
		}
		return false;
	}
	
	public boolean existeAnuncio(Anuncio novo) {
		for (Anuncio anuncio : anuncios) {
			if (anuncio.equals(novo)) {
				return true;
			}
		}
		return false;
	}

	public Usuario autenticar(String login, String senha) {
		for (Usuario usuario : usuarios) {
			if (usuario.getLogin().equals(login) && usuario.getSenha().equals(senha)) {
				return usuario;
			}
		}
		return null;
	}
}
